home *** CD-ROM | disk | FTP | other *** search
- {
- Err.. RACER programmed by Scott Tunstall 1994.
- (When I first got me PC at the age of 22)
-
- Update in March 95 (Also by Scott Tunstall) - to piss off the
- B.Sc chaps. And what's more folks it's already on BBS's so
- ripping off me code will mean I sue you for (C).
-
- Renamed to The Dave Norrie Driving Simulator just to piss the c**t
- right off!! :) sorry Dave mate but this is easily the best game
- you'll play on your PC cos :
-
- (A) I programmed it
- (B) Your f***ing name is on it. :) :) :)
-
- Even SHITTER than the lawnmower simulator.. it's me racing game
- which has absolutely NO collision detection whatever. I done this
- just for a laugh see?
-
- And to practise assembler. Compared to me efforts now the assembler
- code in this really SUCKS!! (But why should I optimize a piece of
- shit like this? :) )
-
- (And no commenting either.. tut tut)
-
- Oh by the way Ronny seeing as you don't believe I wrote space lords
- I thought I'd update me copy just for you... EAT YOUR WORDS
- }
-
- Program Norrie_Simulator;
-
- Uses Crt;
-
- Var CarX: byte;
- CarY: byte;
- OldCarX : byte;
- OldCarY : byte;
- Speed: byte;
- CaveY: byte;
- CaveHeight: byte;
- Dead: boolean;
-
-
-
-
-
-
- {
- OH NO! I AM SO EMBARASSED BY THIS CODE IT IS SHIT!!
- }
-
-
- Procedure ScrollLeft; Assembler;
- label outer,shift;
-
- asm
- push ds
- mov ax,$b800 { Want me to explain this eh? }
- mov ds,ax
-
- mov bx,0
- mov dl,22
-
- outer:
- mov cx,38 { Woulda been better with CL }
- push bx { ain't altered it to show you
- how shit it is - if you understand asm }
-
- shift:
- mov ax,[bx+2]
- mov [bx],ax
- add bx,2
- loop shift { Err... don't tell anyone I wrote this OK }
-
- pop bx
- add bx,80
-
- dec dl
- jne outer
-
- pop ds
- End;
-
-
-
-
-
-
-
- Procedure WriteNewTrack;
- var y:byte;
- Begin
- If CaveY <> 1 Then
- Begin
- TextBackground(Green);
- For Y:=1 to CaveY do
- Begin
- GotoXY(39,Y);
- Write(' ');
- End;
- End;
-
- gotoxy(39,CaveY);
- TextColor(White);
- Write('O');
-
- gotoxy(39,CaveY+CaveHeight);
- Write('O');
-
- TextBackground(LightGray);
- For Y:=CaveY + 1 to (CaveY + (CaveHeight-1)) do
- begin
- gotoXY(39,Y);
- Write(' ');
- End;
-
- TextBackground(Green);
- For Y:= (CaveY + CaveHeight + 1) to 22 do
- begin
- gotoxy(39,Y);
- write(' ');
- end;
- end;
-
-
-
-
-
-
- Procedure DrawScreen;
- Var Action:byte;
- Begin
- GotoXY(OldCarX,OldCarY);
- TextBackground(LightGray);
- Write(' ');
-
- ScrollLeft;
- WriteNewTrack;
-
-
- Action:= Random(30);
- Case Action Of
- 1: If CaveY > 1 Then Dec(CaveY);
- 2: If (CaveY + CaveHeight)< 22 Then Inc(CaveY);
- 3: If CaveHeight > 6 Then Dec(CaveHeight);
- 4: If (CaveY + CaveHeight)< 22 Then Inc(CaveHeight);
- End;
-
- End;
-
-
-
-
-
- Procedure Setup;
- Var X:byte;
- Begin
- TextMode(CO40);
- CaveY:=5;
- CaveHeight:=15;
- CarX:=1;
- CarY:=12;
- OldCarX:=CarX;
- OldCarY:=CarY;
-
- Speed:=100;
-
- { I added this bit to piss Dave off }
-
- gotoxy(4,24);
- textcolor(WHITE);
- textbackground(black);
- write('The Dave Norrie Driving Simulator');
-
- { This bit was in the original }
-
- For X:=1 to 38 do
- DrawScreen;
-
-
-
- End;
-
-
-
-
-
-
-
- Procedure MovePlayer;
- Begin
- TextColor(LightGray);
- TextBackground(Blue);
- GotoXY(CarX,CarY);
- Write('>');
-
- OldCarX:=CarX;
- OldCarY:=CarY;
-
- If KeyPressed Then
- Begin
- Case Upcase(Readkey) of
- 'Q': If CarY>1 Then Dec(CarY);
- 'A': If CarY<22 Then Inc(CarY);
- 'O': If CarX>1 Then
- Begin
- Speed:=Speed+5;
- Dec(CarX);
- End;
- 'P': If CarX<20 Then
- Begin
- Speed:=Speed-5;
- Inc(CarX);
- End;
- End;
- End;
- End;
-
-
-
-
-
-
-
- Begin
- SetUp;
- Repeat
- Delay(Speed);
- DrawScreen;
- MovePlayer;
- Until Dead;
- End.
-
-
-
- { Here's a few possible additions for you sad fucks who
- actually like this trash:
-
- 1. Collision detection (Not too good though - ruins the fun!)
- 2. Graphics ! (No then again maybe not)
- 3. Some sound (Keep it crap)
- 4. Err.. playability?
- }